package com.hnu.store.dto;

import lombok.Data;

/**
 * 售单与前端交互的类
 */
@Data
public class SaleDTO {
    //  售单id

    private Integer id;
    //  售单所属用户id
    private Integer userId;

    //  售单标题
    private String title;

    //  出售商品的状态,0表示停售,1表示在售使用权,2表示在售所有权,3表示所有权已转让
    private String status;

    //  价格
    private double price;

    //  售单封面
    private String picture;

    //  售单描述
    private String description;

    //  标签1
    private String tag1;

    //  标签2
    private String tag2;

    //  标签3
    private String tag3;

    //  文件名
    private String fileName;
    //  作品名称
    private String nftName;
    //  区块高度
    private String blockHeight;
    //  上链时间
    private String chainTime;
    //  文件哈希
    private String fileHash;
    //  拥有者身份证
    private String ownerId;
    //  拥有者真实姓名
    private String realName;

    //  授权数
    private Integer authorizeNum;

    //  商品类型
    private String type;

    //  链上哈希
    private String chainHash;

    //  构造函数
    public SaleDTO() {
    }

    //  构造函数
    public SaleDTO(Integer id, Integer userId,String title, String status, double price, String picture,
        String description, String tag1, String tag2, String tag3, String fileName, String nftName,
        String blockHeight, String chainTime, String fileHash, String ownerId,Integer authorizeNum,
        String realName,String type) {
        this.id = id;
        this.userId = userId;
        this.title = title;
        this.status = status;
        this.price = price;
        this.picture = picture;
        this.description = description;
        this.tag1 = tag1;
        this.tag2 = tag2;
        this.tag3 = tag3;
        this.fileName = fileName;
        this.nftName = nftName;
        this.blockHeight = blockHeight;
        this.chainTime = chainTime;
        this.fileHash = fileHash;
        this.ownerId = ownerId;
        this.authorizeNum = authorizeNum;
        this.realName = realName;
        this.type = type;
    }

    //  构造函数
    public SaleDTO(Integer id, Integer userId,String title, String status, double price, String picture,
        String description, String tag1, String tag2, String tag3, String fileName, String nftName,
        String blockHeight, String chainTime, String fileHash, String ownerId,Integer authorizeNum,
        String realName,String type,String chainHash) {
        this.id = id;
        this.userId = userId;
        this.title = title;
        this.status = status;
        this.price = price;
        this.picture = picture;
        this.description = description;
        this.tag1 = tag1;
        this.tag2 = tag2;
        this.tag3 = tag3;
        this.fileName = fileName;
        this.nftName = nftName;
        this.blockHeight = blockHeight;
        this.chainTime = chainTime;
        this.fileHash = fileHash;
        this.ownerId = ownerId;
        this.authorizeNum = authorizeNum;
        this.realName = realName;
        this.type = type;
        this.chainHash = chainHash;
    }
}
